Micron Document
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| SparkN0de-git | SparkN0de |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


Displaying Rendered • View rawDownload


lang/README.de.md a6764d3d38e8710c5352bbfe4024dbb36c3a48a2 (a6764d3d) Text, 14.91 KB

Reticulum MeshChatX


Ein umfassend modifizierter und funktionsreicher Fork von Reticulum MeshChat von Liam Cottle.

Dieses Projekt ist unabhaengig vom originalen Reticulum MeshChat und steht in keiner Verbindung dazu.

• Website: meshchatx.com
• Offizieller Spiegel: github.com/Quad4/MeshChatX – derzeit auch fuer Windows- und macOS-Builds genutzt.
• Aenderungsprotokoll: CHANGELOG.md
• TODO: Boards

Wichtige Aenderungen gegenueber Reticulum MeshChat

• Verwendet LXST
• Peewee-ORM durch direktes SQL ersetzt
• Axios durch natives T383838fetch ersetzt
• Aktuelles Electron
• T383838.whl-Pakete mit Webserver und eingebauten Frontend-Assets fuer mehr Deploy-Optionen
• i18n
• PNPM und Poetry fuer Abhaengigkeiten

│ [!WARNING] MeshChatX garantiert keine Datenkompatibilitaet mit aelteren
│ Reticulum-MeshChat-Versionen. Erstellen Sie vor Migration oder Tests eine Datensicherung.

│ [!WARNING] Aeltere Systeme werden noch nicht vollstaendig unterstuetzt. Aktuelle
│ Mindestanforderungen: Python T383838>=3.11 und Node T383838>=22 (Electron nutzt Node 22; CI kann neuer sein).

Voraussetzungen

• Python T383838>=3.11 (aus T383838pyproject.toml)
• Node.js T383838>=22 (aus T383838package.json)
• pnpm T38383810.32.1 (aus T383838package.json)
• Poetry (verwendet in T383838Taskfile.yml und CI-Workflows)

T282828
task install
task lint:all
task test:all
task build:all

Installationsmethoden

Waehlen Sie die Methode passend zu Umgebung und Paketierung.

┌─────────────────────┬────────────────────┬─────────────────┬─────────────────────────────────────┐
│ Methode │ Frontend enthalten │ Architekturen │ Geeignet fuer │
├─────────────────────┼────────────────────┼─────────────────┼─────────────────────────────────────┤
│ Docker-Image │ Ja │ T383838linux/amd64, T383838l… │ Schnellster Start auf Linux-Servern │
│ Python Wheel (T383838.whl) │ Ja │ Jede Python-un… │ Headless/Webserver ohne Node-Build │
│ Linux AppImage │ Ja │ T383838x64, T383838arm64 │ Portabler Desktop-Einsatz │
│ Debian-Paket (T383838.deb) │ Ja │ T383838x64, T383838arm64 │ Debian/Ubuntu-Installation │
│ RPM-Paket (T383838.rpm) │ Ja │ CI-abhaengig │ Fedora/RHEL/openSUSE │
│ Aus Quellcode │ Lokal gebaut │ Host-Architekt… │ Entwicklung und individuelle Builds │
└─────────────────────┴────────────────────┴─────────────────┴─────────────────────────────────────┘

Hinweise:

• Der Release-Workflow baut explizit Linux T383838x64 und T383838arm64 AppImage + DEB.
• RPM wird ebenfalls versucht und bei Erfolg hochgeladen.

Schnellstart: Docker

T282828
docker compose up -d

Standard-Compose-Datei:

• T383838127.0.0.1:8000 auf dem Host -> Container-Port T3838388000
• T383838./meshchat-config -> T383838/config fuer Persistenz

Bei Berechtigungsproblemen:

T282828
sudo chown -R T79c0ff1000:1000 ./meshchat-config


Installation aus Release-Artefakten

1) Linux AppImage (x64/arm64)

1. T383838ReticulumMeshChatX-v<version>-linux-<arch>.AppImage von den Releases herunterladen.
2. Ausfuehrbar machen und starten:

T282828
chmod +x ./ReticulumMeshChatX-v*-linux-*.AppImage
./ReticulumMeshChatX-v*-linux-*.AppImage

2) Debian/Ubuntu T383838.deb (x64/arm64)

1. T383838ReticulumMeshChatX-v<version>-linux-<arch>.deb herunterladen.
2. Installieren:

T282828
sudo apt install ./ReticulumMeshChatX-v*-linux-*.deb

3) RPM-basierte Systeme

1. T383838ReticulumMeshChatX-v<version>-linux-<arch>.rpm herunterladen, falls im Release vorhanden.
2. Installieren:

T282828
sudo rpm -Uvh ./ReticulumMeshChatX-v*-linux-*.rpm

4) Python Wheel (T383838.whl)

Release-Wheels enthalten die gebauten Web-Assets.

T282828
pip install ./reticulum_meshchatx-*-py3-none-any.whl
meshchatx --headless

T383838pipx wird ebenfalls unterstuetzt:

T282828
pipx install ./reticulum_meshchatx-*-py3-none-any.whl

Aus Quellcode ausfuehren (Webserver-Modus)

Fuer Entwicklung oder lokale Custom-Builds.

T282828
git clone https://git.quad4.io/RNS-Things/MeshChatX.git
Tffa657cd MeshChatX
corepack Tffa657enable
pnpm install
pip install poetry
poetry install
pnpm run build-frontend
poetry run python -m meshchatx.meshchat --headless --host T79c0ff127.0.0.1


Sandboxing (Linux)

Um das native T383838meshchatx-Programm (Alias: T383838meshchat) mit zusaetzlicher Dateisystem-Isolation auszufuehren, koennen Sie Firejail oder Bubblewrap (T383838bwrap) nutzen, bei weiterhin normalem Netzwerkzugriff fuer Reticulum und die Web-Oberflaeche. Vollstaendige Beispiele (pip/pipx, Poetry, Hinweise zu USB-Seriell) finden Sie in:


Dieselbe Seite erscheint in der in-app-Dokumentation (MeshChatX-Docs), wenn sie aus den gebuendelten oder synchronisierten T383838meshchatx-docs-Dateien ausgeliefert wird.

Linux-Desktop: Emoji-Schriften

Die Emoji-Auswahl rendert Standard-Unicode-Emoji mit den Systemschriften (Electron/Chromium). Wenn Emoji als leere Kaestchen („Tofu“) erscheinen, installieren Sie ein Farb-Emoji-Paket und starten Sie die App neu.

┌────────────────────────────┬──────────────────────────────────────────────────────────────────┐
│ Distribution (Beispiele) │ Paket │
├────────────────────────────┼──────────────────────────────────────────────────────────────────┤
│ Arch Linux, Artix, Manjaro │ T383838noto-fonts-emoji (T383838sudo pacman -S noto-fonts-emoji) │
│ Debian, Ubuntu │ T383838fonts-noto-color-emoji (T383838sudo apt install fonts-noto-color-emoji) │
│ Fedora │ T383838google-noto-emoji-color-fonts
└────────────────────────────┴──────────────────────────────────────────────────────────────────┘

Nach der Installation bei Bedarf T383838fc-cache -fv ausfuehren. Optional: T383838noto-fonts fuer breitere Symbolabdeckung bei minimalen Installationen.

Desktop-Pakete aus Quellcode bauen

Diese Skripte sind in T383838package.json und T383838Taskfile.yml definiert.

Linux x64 AppImage + DEB

T282828
pnpm run dist:linux-x64

Linux arm64 AppImage + DEB

T282828
pnpm run dist:linux-arm64

RPM

T282828
pnpm run dist:rpm

Oder ueber Task:

T282828
task dist:fe:rpm

Architekturunterstuetzung

• Docker-Image: T383838amd64, T383838arm64
• Linux AppImage: T383838x64, T383838arm64
• Linux DEB: T383838x64, T383838arm64
• Windows: T383838x64, T383838arm64 (Build-Skripte vorhanden)
• macOS: Build-Skripte vorhanden (T383838arm64, T383838universal) fuer lokale Build-Umgebungen
• Android: native APKs — ABIs T383838arm64-v8a, T383838x86_64, plus universal

Android

MeshChatX unterstuetzt native Android-APK-Builds (nicht nur Termux).

APKs aus Quellcode bauen

Vom Repository-Root:

T282828
T8b949e# 1) Chaquopy-Wheels gemaess android/app/build.gradle bauen
bash scripts/build-android-wheels-local.sh

T8b949e# 2) Beide APK-Varianten bauen
Tffa657cd android
./gradlew --no-daemon :app:assembleDebug :app:assembleRelease


APK-Ausgaben (ABI-Splits plus universelles APK; siehe T383838splits { abi { ... } } in T383838android/app/build.gradle):

Debug (T383838android/app/build/outputs/apk/debug/):

• T383838app-arm64-v8a-debug.apk (ARM64-Geraete)
• T383838app-x86_64-debug.apk (x86_64-Emulatoren)
• T383838app-universal-debug.apk (alle gebundelten ABIs in einem Paket)

Release (T383838android/app/build/outputs/apk/release/):

• T383838app-arm64-v8a-release-unsigned.apk
• T383838app-x86_64-release-unsigned.apk
• T383838app-universal-release-unsigned.apk

Hinweise:

• Release-Ausgaben sind standardmaessig unsigniert, sofern keine Signatur konfiguriert ist.
• Wenn nur eine Variante noetig ist: T383838:app:assembleDebug oder T383838:app:assembleRelease.
• Android zielt auf die ABIs T383838arm64-v8a und T383838x86_64 gemaess T383838android/app/build.gradle.

Weitere Dokumentation:


Konfiguration

┌────────────────────────┬──────────────────────────────────────┬──────────────┬───────────────────┐
│ Argument │ Umgebungsvariable │ Standard │ Beschreibung │
├────────────────────────┼──────────────────────────────────────┼──────────────┼───────────────────┤
│ T383838--host │ T383838MESHCHAT_HOST │ T383838127.0.0.1 │ Webserver-Bind-A… │
│ T383838--port │ T383838MESHCHAT_PORT │ T3838388000 │ Webserver-Port │
│ T383838--no-https │ T383838MESHCHAT_NO_HTTPS │ T383838false │ HTTPS deaktivier… │
│ T383838--ssl-cert / T383838--ssl-key │ T383838MESHCHAT_SSL_CERT / T383838MESHCHAT_SSL_KEY │ (keine) │ PEM-Zertifikat u… │
│ T383838--rns-log-level │ T383838MESHCHAT_RNS_LOG_LEVEL │ (keine) │ Reticulum (RNS) … │
│ T383838--headless │ T383838MESHCHAT_HEADLESS │ T383838false │ Browser nicht au… │
│ T383838--auth │ T383838MESHCHAT_AUTH │ T383838false │ Basis-Authentifi… │
│ T383838--storage-dir │ T383838MESHCHAT_STORAGE_DIR │ T383838./storage │ Datenverzeichnis │
│ T383838--public-dir │ T383838MESHCHAT_PUBLIC_DIR │ auto/bundled │ Frontend-Verzeic… │
└────────────────────────┴──────────────────────────────────────┴──────────────┴───────────────────┘

Branches

┌────────┬────────────────────────────────────────────────────────────────────────────────┐
│ Branch │ Zweck │
├────────┼────────────────────────────────────────────────────────────────────────────────┤
│ T383838master │ Stabile Releases. Nur produktionsreifer Code. │
│ T383838dev │ Aktive Entwicklung. Kann instabile oder unvollstaendige Aenderungen enthalten. │
└────────┴────────────────────────────────────────────────────────────────────────────────┘

Entwicklung

Gaengige Aufgaben aus T383838Taskfile.yml:

T282828
task install
task lint:all
task test:all
task build:all

T383838Makefile-Kurzformen:

┌──────────────┬───────────────────────────────────────────────┐
│ Befehl │ Beschreibung │
├──────────────┼───────────────────────────────────────────────┤
│ T383838make install │ pnpm- und Poetry-Abhaengigkeiten installieren │
│ T383838make run │ MeshChatX ueber Poetry starten │
│ T383838make build │ Frontend bauen │
│ T383838make lint │ eslint und ruff ausfuehren │
│ T383838make test │ Frontend- und Backend-Tests │
│ T383838make clean │ Build-Artefakte und node_modules entfernen │
└──────────────┴───────────────────────────────────────────────┘

Versionierung

Aktuelle Version in diesem Repository: T3838384.5.0.

• T383838package.json ist die Quelle fuer die JavaScript/Electron-Version.
• T383838meshchatx/src/version.py wird aus T383838package.json synchronisiert mit:

T282828
pnpm run version:sync

Fuer konsistente Releases die Versionsfelder dort abgleichen, wo noetig (T383838package.json, T383838pyproject.toml, T383838meshchatx/__init__.py).

Sicherheit

• Integrierte Integritaetspruefungen und HTTPS/WSS-Standardeinstellungen in der App
• CI-Scanning-Workflows in T383838.gitea/workflows/

Sprache hinzufuegen

Die Locale-Erkennung erfolgt automatisch. Legen Sie eine neue Datei unter T383838meshchatx/src/frontend/locales/ an (z. B. T383838xx.json) mit denselben Schluesseln wie T383838en.json und einem obersten Feld T383838_languageName fuer die Anzeige in der Sprachauswahl. Sie koennen T383838en.json kopieren und alles von Hand uebersetzen; maschinelle Erzeugung ist optional und nie verpflichtend.

Korrekturen und menschliche Uebersetzungen sind willkommen. Verbesserungen an bestehenden Locale-Dateien oder vollstaendig manuell uebersetzte Dateien koennen Sie per Pull Request oder Issue im Quellcode-Repository oder beim GitHub-Spiegel einreichen.

Optional: Argos-Translate-Bootstrap -- Wenn Sie einen maschinellen Erstentwurf aus T383838en.json wollen, koennen Sie T383838scripts/argos_translate.py nutzen. Es kuemmert sich um Formatierung und schuetzt Interpolationsvariablen (wie T383838{count}) vor versehentlichen Aenderungen.

T282828
T8b949e# Installieren Sie argostranslate, falls noch nicht geschehen
pip install argostranslate

T8b949e# Fuehren Sie das Uebersetzungsskript aus
python scripts/argos_translate.py --from en --to xx --input meshchatx/src/frontend/locales/en.json --output meshchatx/src/frontend/locales/xx.json --name Ta5d6ff"Ihr Sprachname"


Nach einem maschinellen Entwurf sollten ein LLM oder ein Mensch Grammatik, Kontext und Ton pruefen (z. B. formell vs. informell).

Schluesselparitaet pruefen: T383838pnpm test -- tests/frontend/i18n.test.js --run

Keine weiteren Code-Aenderungen noetig. App, Sprachwahl und Tests lesen Locales zur Build-Zeit aus T383838meshchatx/src/frontend/locales/.

Mitwirkende

Liam Cottle - Originales Reticulum MeshChat
RFnexus - Micron-Parser (JavaScript)
markqvist - Reticulum, LXMF, LXST

Lizenz

Die projekt-eigenen Anteile stehen unter 0BSD.
Urspruengliche Upstream-Anteile von MeshChat bleiben unter MIT.
Vollstaendiger Text und Hinweise in ../LICENSE.


──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────